package org.jeecg.modules.demo.weixin.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: smt_dev
 * @Author: jeecg-boot
 * @Date:   2023-12-21
 * @Version: V1.0
 */
@Data
@TableName("smt_dev")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="smt_dev对象", description="smt_dev")
public class SmtDev implements Serializable {
    private static final long serialVersionUID = 1L;

	/**设备ID*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "设备ID")
    private Integer id;
	/**设备号*/
	@Excel(name = "设备号", width = 15)
    @ApiModelProperty(value = "设备号")
    private String devCode;
	/**店铺名称*/
	@Excel(name = "店铺名称", width = 15)
    @ApiModelProperty(value = "店铺名称")
    private String devName;
	/**特约商户号	*/
	@Excel(name = "特约商户号	", width = 15)
    @ApiModelProperty(value = "特约商户号	")
    private String subMchid;
	/**用户Id*/
	@Excel(name = "用户Id", width = 15)
    @ApiModelProperty(value = "用户Id")
    private Integer userId;
	/**MQTT用户名   主板版本号*/
	@Excel(name = "MQTT用户名   主板版本号", width = 15)
    @ApiModelProperty(value = "MQTT用户名   主板版本号")
    private String mqttUser;
	/**网络板版本号*/
	@Excel(name = "网络板版本号", width = 15)
    @ApiModelProperty(value = "网络板版本号")
    private String linkVersion;
	/**设备秘钥（MQTT密码）*/
	@Excel(name = "设备秘钥（MQTT密码）", width = 15)
    @ApiModelProperty(value = "设备秘钥（MQTT密码）")
    private String mqttKey;
	/**玩法Id*/
	@Excel(name = "玩法Id", width = 15)
    @ApiModelProperty(value = "玩法Id")
    private Integer trickId;
	/**设备Mac*/
	@Excel(name = "设备Mac", width = 15)
    @ApiModelProperty(value = "设备Mac")
    private String devMac;
	/**店铺图片*/
	@Excel(name = "店铺图片", width = 15)
    @ApiModelProperty(value = "店铺图片")
    private String devPics;
	/**添加时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "添加时间")
    private Date createTime;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
	/**锁场开始时间*/
	@Excel(name = "锁场开始时间", width = 15)
    @ApiModelProperty(value = "锁场开始时间")
    private String lockStartTime;
	/**锁场结束时间*/
	@Excel(name = "锁场结束时间", width = 15)
    @ApiModelProperty(value = "锁场结束时间")
    private String lockEndTime;
	/**营业开始时间*/
	@Excel(name = "营业开始时间", width = 15)
    @ApiModelProperty(value = "营业开始时间")
    private String openStartTime;
	/**营业结束时间*/
	@Excel(name = "营业结束时间", width = 15)
    @ApiModelProperty(value = "营业结束时间")
    private String openEndTime;
	/**营业状态（0：营业中，1：下班了）*/
	@Excel(name = "营业状态（0：营业中，1：下班了）", width = 15)
    @ApiModelProperty(value = "营业状态（0：营业中，1：下班了）")
    private Integer openState;
	/**锁场状态（0：没有锁场，1：已锁场）*/
	@Excel(name = "锁场状态（0：没有锁场，1：已锁场）", width = 15)
    @ApiModelProperty(value = "锁场状态（0：没有锁场，1：已锁场）")
    private Integer lockState;
	/**中场开始时间*/
	@Excel(name = "中场开始时间", width = 15)
    @ApiModelProperty(value = "中场开始时间")
    private String zTimeStart;
	/**中场结束时间*/
	@Excel(name = "中场结束时间", width = 15)
    @ApiModelProperty(value = "中场结束时间")
    private String zTimeEnd;
	/**中场状态（0：营业中，1：停止约场）*/
	@Excel(name = "中场状态（0：营业中，1：停止约场）", width = 15)
    @ApiModelProperty(value = "中场状态（0：营业中，1：停止约场）")
    private Integer zState;
	/**屏蔽格子数据*/
	@Excel(name = "屏蔽格子数据", width = 15)
    @ApiModelProperty(value = "屏蔽格子数据")
    private String devJson;
	/**格子数量*/
	@Excel(name = "格子数量", width = 15)
    @ApiModelProperty(value = "格子数量")
    private Integer latticeCount;
	/**设备序列号*/
	@Excel(name = "设备序列号", width = 15)
    @ApiModelProperty(value = "设备序列号")
    private String deviceSerial;
	/**项目id*/
	@Excel(name = "项目id", width = 15)
    @ApiModelProperty(value = "项目id")
    private String projectId;
	/**设备协议：gb28181(国标),不传默认为萤石协议*/
	@Excel(name = "设备协议：gb28181(国标),不传默认为萤石协议", width = 15)
    @ApiModelProperty(value = "设备协议：gb28181(国标),不传默认为萤石协议")
    private String devProto;
	/**版本类型（base：基础版  pro：增强版）*/
	@Excel(name = "版本类型（base：基础版  pro：增强版）", width = 15)
    @ApiModelProperty(value = "版本类型（base：基础版  pro：增强版）")
    private String coreInfo;
	/**核心板下载时间*/
	@Excel(name = "核心板下载时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "核心板下载时间")
    private Date coreTime;
	/**网络板下载时间*/
	@Excel(name = "网络板下载时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "网络板下载时间")
    private Date linkTime;
	/**是否调试模式（debug：调试模式，normal：正常模式）*/
	@Excel(name = "是否调试模式（debug：调试模式，normal：正常模式）", width = 15)
    @ApiModelProperty(value = "是否调试模式（debug：调试模式，normal：正常模式）")
    private String debugState;
	/**省份*/
	@Excel(name = "省份", width = 15)
    @ApiModelProperty(value = "省份")
    private String province;
	/**城市*/
	@Excel(name = "城市", width = 15)
    @ApiModelProperty(value = "城市")
    private String city;
	/**门店id*/
	@Excel(name = "门店id", width = 15)
    @ApiModelProperty(value = "门店id")
    private Integer storeId;
	/**设备经度*/
	@Excel(name = "设备经度", width = 15)
    @ApiModelProperty(value = "设备经度")
    private String lng;
	/**设备维度*/
	@Excel(name = "设备维度", width = 15)
    @ApiModelProperty(value = "设备维度")
    private String lat;
	/**设备详细地址*/
	@Excel(name = "设备详细地址", width = 15)
    @ApiModelProperty(value = "设备详细地址")
    private String address;
	/**店铺联系方式*/
	@Excel(name = "店铺联系方式", width = 15)
    @ApiModelProperty(value = "店铺联系方式")
    private String phones;
	/**店铺名称*/
	@Excel(name = "店铺名称", width = 15)
    @ApiModelProperty(value = "店铺名称")
    private String insideDevname;
	/**区域*/
	@Excel(name = "区域", width = 15)
    @ApiModelProperty(value = "区域")
    private String distinguish;
    /**门店id*/
    @Excel(name = "门店id", width = 15)
    @ApiModelProperty(value = "门店id")
    private String merchantId;


    /**
     * 关联人名称
     */
    @TableField(exist = false)
    private String nickName;
    /**
     * 关联手机号码
     */
    @TableField(exist = false)
    private String phone;


    /**
     * 设备ids
     */
    @TableField(exist = false)
    private String devIds;

    /**
     * 名店名称
     */
    @TableField(exist = false)
    private String merName;
}
